1. Technical Field
Embodiments of the present invention relate generally to data storage and management and more particularly to a system and method for performing a search operation within a sequential access data storage subsystem.
2. Description of Related Art
As data processing systems and communications networks have become more prevalent, the need to store, organize, and utilize data produced by such systems and communicated over such networks more efficiently has increased. One mechanism for storing, providing access to, and processing such data is the data storage subsystem. A data storage subsystem includes an integrated collection of storage controllers and/or host bus adapters, storage elements, and any required control software used to provide data storage services to one or more host data processing systems.
Conventional storage elements include machine-readable media which may be fixed, removable, magnetic, optical, random/direct access, and/or sequential access (e.g., fixed disks, CD/DVD-ROMs, tapes, solid state memory, or the like) as well as media loaders and robots utilized to access such media. As originally implemented, data storage subsystems included reliable, relatively high-capacity and inexpensive sequential access storage elements (e.g., tape). Such sequential access-based data storage subsystems were, and continue to be, used primarily for data backup and archive operations. More recently, data storage subsystems have been implemented using disk drive storage providing greater access speed and flexibility of use while increasing cost and/or decreasing reliability.
In addition to traditional use for data backup and archiving, disk drive-based data storage subsystems have been utilized to provide data replication services for data processing system clusters, failover/disaster-recovery, testing, data mining and analysis, and the like. While sequential access storage element-based data storage subsystems may be used to provide some or all of the described enhanced data storage and processing services, existing systems rely on host data processing system-controlled or performed input/output (I/O) operations (e.g., read and write operations). Such host I/O operations consume a great deal of host data processing system-to-data storage subsystem communication channel bandwidth and host data processing system resources (e.g., processing elements, memory, or the like) to perform search operations as well as for otherwise unnecessary system overhead (e.g., application, driver, and/or operating system software).